Skip to content

feat(dart): add spec-compliant ActivitySnapshotEvent#1683

Open
WilliamKarolDiCioccio wants to merge 4 commits into
ag-ui-protocol:mainfrom
WilliamKarolDiCioccio:contrib/dart-activity-snapshot-event
Open

feat(dart): add spec-compliant ActivitySnapshotEvent#1683
WilliamKarolDiCioccio wants to merge 4 commits into
ag-ui-protocol:mainfrom
WilliamKarolDiCioccio:contrib/dart-activity-snapshot-event

Conversation

@WilliamKarolDiCioccio
Copy link
Copy Markdown

Summary

  • Adds ActivitySnapshotEvent to the Dart SDK's event model with the AG-UI spec-compliant shape: messageId, activityType, content, replace — all required fields validated via requireField.
  • Wires EventType.activitySnapshot into the event-type enum and bumps the enum-count test from 25 → 26.
  • Adds a .gitignore for sdks/community/dart/ (based on Flutter's, scoped to Dart package concerns) — no equivalent existed.

Test plan

  • dart test under sdks/community/dart/424 / 424 passing, including the new ActivitySnapshotEvent tests (factory dispatch, SSE round-trip, full copyWith, timestamp handling) and the fixtures integration test.
  • dart analyze0 new issues vs upstream baseline (758 → 758).
  • Line coverage on added executable lines: 75.9 % (22 / 29).

Commits

  1. Introduce ActivitySnapshotEvent class
  2. Add .gitignore for Dart SDK
  3. Make ActivitySnapshotEvent spec-compliant
  4. Add SSE round-trip, full copyWith, and timestamp tests

A follow-up PR (stacked on this one) adds REASONING_* events, ACTIVITY_DELTA, and the ActivityMessage role.

alan runyan and others added 4 commits May 13, 2026 14:35
Based on Flutter's .gitignore, scoped to Dart package concerns.
Replace activities field with AG-UI spec fields: messageId, activityType,
content, replace. All required fields validated via requireField.
Fix pre-existing event type count test (25 -> 26).
@vercel
Copy link
Copy Markdown

vercel Bot commented May 14, 2026

@91jaeminjo is attempting to deploy a commit to the CopilotKit Team on Vercel.

A member of the Team first needs to authorize it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants